﻿//Include("Mz");

/**
 * @fileoverview 格式化一个字符串
 * 字符串中需要替换部分的格式是#{prop_name}
 * 最后会被o[prop_name]的值替换
 * @author meizz
 * @name Mz.format
 * @version 20091023
 *
 * @param {String} str 需要格式化的字符串
 * @param {Object} json 需要提供相应数据的对象
 * @return {String} 格式化之后的字符串
 */
Mz.format = function(str, json) {
    if (arguments.length > 1) {
        var r = /#\{([\w\-\$]+)\}/;
        var a = Array.prototype.slice.call(arguments, 1);
        var f = function(n){return parseInt(n, 10);};

        if (typeof json == "object") {
            a = json;
            f = function(s){return s;};
        }

        while (r.test(str)) {
            var _s = RegExp.$1;
            var _r = new RegExp("#\\{"+ _s +"\\}", "g");
            str = str.replace(_r, a[f(_s)]);
        }
    }
    return str;
};
